﻿<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <meta http-equiv="x-ua-compatible" content="IE=edge">
  <title>Swagger UI</title>
  <link rel="icon" type="image/png" href="images/favicon-32x32.png" sizes="32x32" />
  <link rel="icon" type="image/png" href="images/favicon-16x16.png" sizes="16x16" />
  <script src='lang/lang.js' type='text/javascript'></script> 
  <link href='css/typography.css' media='screen' rel='stylesheet' type='text/css'/>
  <link href='css/reset.css' media='screen' rel='stylesheet' type='text/css'/>
  <link href='css/screen.css' media='screen' rel='stylesheet' type='text/css'/>
  <link href='css/reset.css' media='print' rel='stylesheet' type='text/css'/>
  <link href='css/print.css' media='print' rel='stylesheet' type='text/css'/>
  <link href='css/ext.css' media="screen" rel='stylesheet' type='text/css'/>
  
    %(StylesheetIncludes)

  <script src='lib/object-assign-pollyfill.js' type='text/javascript'></script>
  <script src='lib/jquery-1.8.0.min.js' type='text/javascript'></script>
  <script src='lib/jquery.slideto.min.js' type='text/javascript'></script>
  <script src='lib/jquery.wiggle.min.js' type='text/javascript'></script>
  <script src='lib/jquery.ba-bbq.min.js' type='text/javascript'></script>
  <script src='lib/handlebars-4.0.5.js' type='text/javascript'></script>
  <script src='lib/lodash.min.js' type='text/javascript'></script>
  <script src='lib/backbone-min.js' type='text/javascript'></script>
  <script src='swagger-ui.js' type='text/javascript'></script>
  <script src='lib/highlight.9.1.0.pack.js' type='text/javascript'></script>
  <script src='lib/highlight.9.1.0.pack_extended.js' type='text/javascript'></script>
  <script src='lib/jsoneditor.min.js' type='text/javascript'></script>
  <script src='lib/marked.js' type='text/javascript'></script>
  <script src='lib/swagger-oauth.js' type='text/javascript'></script>
  <script src='lib/jquery.sieve.min.js' type='text/javascript'></script>

  <!-- Some basic translations -->
  <script src='lang/translator.js' type='text/javascript'></script>   
  <!-- <script src='lang/ru.js' type='text/javascript'></script> -->
  <!-- <script src='lang/en.js' type='text/javascript'></script> -->

  <script type="text/javascript">
    $(function () {
      // Get Swashbuckle config into JavaScript
      function arrayFrom(configString) {
          return (configString !== "") ? configString.split('|') : [];
      }

      function stringOrNullFrom(configString) {
          return (configString !== "null") ? configString : null;
      }

      window.swashbuckleConfig = {
          rootUrl: '%(RootUrl)',
          discoveryPaths: arrayFrom('%(DiscoveryPaths)'),
          booleanValues: arrayFrom('%(BooleanValues)'),
          validatorUrl: stringOrNullFrom('%(ValidatorUrl)'),
          customScripts: arrayFrom('%(CustomScripts)'),
          docExpansion: '%(DocExpansion)',
          supportedSubmitMethods: arrayFrom('%(SupportedSubmitMethods)'),
          oAuth2Enabled: ('%(OAuth2Enabled)' == 'true'),
          oAuth2ClientId: '%(OAuth2ClientId)',
          oAuth2ClientSecret: '%(OAuth2ClientSecret)',
          oAuth2Realm: '%(OAuth2Realm)',
          oAuth2AppName: '%(OAuth2AppName)',
          oAuth2ScopeSeperator: '%(OAuth2ScopeSeperator)',
          oAuth2AdditionalQueryStringParams: JSON.parse('%(OAuth2AdditionalQueryStringParams)'),
          apiKeyName: '%(ApiKeyName)',
          apiKeyIn: '%(ApiKeyIn)'
      };

      hljs.configure({
        highlightSizeThreshold: 5000
      });

      // Pre load translate...
      if(window.SwaggerTranslator) {
        window.SwaggerTranslator.translate();
      }
      
      window.swaggerUi = new SwaggerUi({        
        url: swashbuckleConfig.rootUrl + "/" + swashbuckleConfig.discoveryPaths[0],
        dom_id: "swagger-ui-container",
        supportedSubmitMethods: swashbuckleConfig.supportedSubmitMethods,
        booleanValues: swashbuckleConfig.booleanValues,
        //字符集设置，en:英文,zh_CN:中文        
        locale:"zh_CN",
        onComplete: function(swaggerApi, swaggerUi){          
          if (typeof initOAuth == "function" && swashbuckleConfig.oAuth2Enabled) {
            initOAuth({
                clientId: swashbuckleConfig.oAuth2ClientId,
                clientSecret: swashbuckleConfig.oAuth2ClientSecret,
                realm: swashbuckleConfig.oAuth2Realm,
                appName: swashbuckleConfig.oAuth2AppName,
                scopeSeparator: swashbuckleConfig.oAuth2ScopeSeperator,
                additionalQueryStringParams: swashbuckleConfig.oAuth2AdditionalQueryStringParams
            });
          }

          if(window.SwaggerTranslator){
            window.SwaggerTranslator.translate();
          }

          $("pre code").each(function(i,e){
            hljs.highlightBlock(e);
          });

          var searchTemplate="<div class='filter'><fieldset class='search'><input type='text' placeholder='查询方法 '/><button type='submit'><i class='icon-search'></i></button></fieldset></div>";

          $("#swagger-ui-container").find(">div>ul").sieve({
            itemSelector:"li",
            searchTemplate:searchTemplate
          });

          $(".filter input").on("keypress",function(){            
            $("#resources >li > ul.endpoints").show();
          });          
                     
            window.swaggerApi = swaggerApi;
            _.each(swashbuckleConfig.customScripts, function (script) {
                $.getScript(script);
            });
        },
        onFailure: function(data) {
          log("Unable to Load SwaggerUI");
        },
        docExpansion: swashbuckleConfig.docExpansion,
        //模块排序
        apisSorter: "alpha",
        //模块内部方法排序
        operationsSorter: "method",
        //方法响应排序
        operationResponsesSorter: "sortWeight",
        jsonEditor: false,
        defaultModelRendering: 'schema',
        showRequestHeaders: false,
        showOperationIds: false,
        //oauth2RedirectUrl: window.location.href.replace('index', 'o2c-html').split('#')[0]
      });

      if (window.swashbuckleConfig.validatorUrl !== '')
          window.swaggerUi.options.validatorUrl = window.swashbuckleConfig.validatorUrl;

      function addApiKeyAuthorization() {          
        var key=$("#input_apiKey")[0].value;
        if (key && key.trim() != "") {
            if (swashbuckleConfig.apiKeyIn === "query") {
                key = encodeURIComponent(key);
            }
            var apiKeyAuth = new SwaggerClient.ApiKeyAuthorization(swashbuckleConfig.apiKeyName, key, swashbuckleConfig.apiKeyIn);
            window.swaggerUi.api.clientAuthorizations.add("api_key", apiKeyAuth);
            log("added key "+key);
        }
      }

      $("#input_apiKey").change(addApiKeyAuthorization);

      window.swaggerUi.load();

      function log() {
        if ('console' in window) {
          console.log.apply(console, arguments);
        }
      }

      $("#language").change(function() {
          window.swaggerUi.setLocale($("#language").val());
          window.swaggerUi.load();
      });
    });
  </script>
</head>

<body class="swagger-section">
<div id='header'>
  <div class="swagger-ui-wrap">
    <a id="logo" href="#"><img class="logo__img" alt="swagger" height="30" width="30" src="images/logo_small.png" /><span class="logo__title">swagger</span></a>
    <form id='api_selector'>
      <!--<div class='input'><input placeholder="http://example.com/api" id="input_baseUrl" name="baseUrl" type="text"/>
          
      </div>-->
     <div id="menubar">

     </div><!--menubar-->>
      <div id='auth_container'></div>
      <div class='input'><a id="explore" class="header__btn" href="#" data-sw-translate>Explore</a></div>
      <div class="input">
        <select id="language">
          <option value="zh_CN">中文(简体)</option>
          <option value="en">English</option>          
        </select>
      </div>
    </form>
  </div>
</div>

<div id="message-bar" class="swagger-ui-wrap" data-sw-translate>&nbsp;</div>
<div id="swagger-ui-container" class="swagger-ui-wrap"></div>
</body>
</html>
